package com.nuoniu.sibanyun.service.crm.call;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nuoniu.sibanyun.entity.crm.call.CrmCallAgentStatistics;
import com.nuoniu.sibanyun.entity.crm.call.dto.CrmCallAgentStatisticsSearchDto;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 客户管理-坐席统计 服务类
 * </p>
 *
 * @author 白强
 * @since 2022-04-28
 */
public interface ICrmCallAgentStatisticsService extends IService<CrmCallAgentStatistics> {
    /**
     * 分页查询
     * @param crmCallAgentStatisticsSearchDto
     * @return
     */
    Page<CrmCallAgentStatistics> pageAgentStatisticsBySystem(CrmCallAgentStatisticsSearchDto crmCallAgentStatisticsSearchDto);

    /**
     * 通过租户ID查询
     * @param companyId
     * @return
     */
    CrmCallAgentStatistics getByCompanyId(Integer companyId);

    /**
     * 获取 当前租户的坐席统计数据
     * @return
     */
    CrmCallAgentStatistics getCrmCallAgentStatistics();

    /**
     *  根据 新购坐席 更新
     * @param newAgentNumber
     */
    void checkFromAddAgent(Integer newAgentNumber);



    /**
     * 批量更新 坐席 是否需要 校验
     * @param companyIds
     */
    void batchUpdateCompanyList(Set<Integer> companyIds);

    /**
     * 更新  坐席数量
     * @param companyId
     */
    void checkAgentStatistics(Integer companyId);

}
